package main

import (
	"fmt"
	"net/http"
	"os"
	"os/signal"
	"syscall"

	"github.com/gin-gonic/gin"
)

func main() {
	router := gin.Default()
	router.GET("/ping", func(ctx *gin.Context) {
		ctx.JSON(http.StatusOK, gin.H{
			"msg": "pong",
		})
	})

	// 开启协程，在协程运行服务
	go func() {
		router.Run(":8083")
	}()

	quit := make(chan os.Signal, 1)
	// 阻塞主程，直到接收到服务停止信号 ctrl + c
	signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
	<-quit

	// 停止服务后的逻辑
	fmt.Println("关闭server中。。。")
	fmt.Println("注销服务。。。")
}
